from 工程.凌云项目.MLS接收模块.基础配置.基础配置引用 import *

def 断电测试初始化():
    模块编号 = str(sys.UUTINFO[1])
    if gy参数.初始化标识 != '断电测试初始化' + 模块编号:
        gy参数.初始化标识 = '断电测试初始化' + 模块编号
    else:
        return
    gy产品.射频路由.连接()
    gy产品.模块电源.连接()
    gy产品.模块控制.连接()

    gy仪器.示波器.连接()
    gy产品.射频路由.连接()

    gy仪器.示波器.设置水平标度(0.01)
    gy仪器.示波器.设置水平延时(0)
    gy仪器.示波器.选择通道('ch1')
    gy仪器.示波器.设置通道垂直标度(1, 20)
    gy仪器.示波器.设置通道垂直偏移(1, 0)
    gy仪器.示波器.设置触发斜率('下降沿')
    gy仪器.示波器.设置触发源('ch1')
    gy仪器.示波器.设置通道触发电平(10, 1)
    gy仪器.示波器.设置触发模式()
    gy仪器.示波器.设置采样点数自动()

    gy产品.射频路由.接通MLS频谱仪测试()
    print("断电测试初始化")

def 断电测试():
    断电测试初始化()
    gy产品.模块电源.打开输出()

    gy仪器.示波器.设置运行()
    gy仪器.示波器.设置单次触发()
    gy方法.时间处理.延时(1)
    gy产品.模块电源.关闭输出()
    波形 = gy仪器.示波器.读取波形值(1, 1, 0)
    n=len(波形)
    zb=0
    for i in range(n):
        if 波形[i]/2.55<28*0.9:
            zb=i
            break
    yb = 0
    for i in range(n-1,0,-1):
        if 波形[i] / 2.55 > 5:
            yb = i
            break

    下降时间=(yb-zb)/n*0.1
    gy方法.时间处理.延时(3)
    gy产品.模块电源.打开输出()

    if 0.01<下降时间<2:
        gy方法.测试结果保存.结果保存('正常', '')
    else:
        gy方法.测试结果保存.结果保存('不正常', '')


if __name__=='__main__':
    sys.UUTINFO = [0, 4]
    断电测试()
